package com.ruoyi.peoplegroup.service;

import java.util.List;
import com.ruoyi.peoplegroup.domain.ResearcherinfoHistory;

/**
 * 科研人员信息历史跟踪Service接口
 *
 * @author lh
 * @date 2025-01-16
 */
public interface IResearcherinfoHistoryService
{
    /**
     * 查询科研人员信息历史跟踪
     *
     * @param researcherinfoHistoryId 科研人员信息历史跟踪主键
     * @return 科研人员信息历史跟踪
     */
    public ResearcherinfoHistory selectResearcherinfoHistoryByResearcherinfoHistoryId(Long researcherinfoHistoryId);

    /**
     * 查询科研人员信息历史跟踪列表
     *
     * @param researcherinfoHistory 科研人员信息历史跟踪
     * @return 科研人员信息历史跟踪集合
     */
    public List<ResearcherinfoHistory> selectResearcherinfoHistoryList(ResearcherinfoHistory researcherinfoHistory);

    /**
     * 新增科研人员信息历史跟踪
     *
     * @param researcherinfoHistory 科研人员信息历史跟踪
     * @return 结果
     */
    public int insertResearcherinfoHistory(ResearcherinfoHistory researcherinfoHistory);

    /**
     * 修改科研人员信息历史跟踪
     *
     * @param researcherinfoHistory 科研人员信息历史跟踪
     * @return 结果
     */
    public int updateResearcherinfoHistory(ResearcherinfoHistory researcherinfoHistory);

    /**
     * 批量删除科研人员信息历史跟踪
     *
     * @param researcherinfoHistoryIds 需要删除的科研人员信息历史跟踪主键集合
     * @return 结果
     */
    public int deleteResearcherinfoHistoryByResearcherinfoHistoryIds(Long[] researcherinfoHistoryIds);

    /**
     * 删除科研人员信息历史跟踪信息
     *
     * @param researcherinfoHistoryId 科研人员信息历史跟踪主键
     * @return 结果
     */
    public int deleteResearcherinfoHistoryByResearcherinfoHistoryId(Long researcherinfoHistoryId);


    /**
     * 查询所有科研人员信息历史记录
     *
     * @return 历史记录列表
     */
    List<ResearcherinfoHistory> selectAllResearcherinfoHistory();

    public List<ResearcherinfoHistory> selectResearcherinfoHistoryByresearcherId(Long researcherId);
}